<?php
class PC4_Controlador_APP_CRUD_Perfil extends PC4_Controlador_APP_CRUD {
	
	protected function init($modelo = '', $formView = 'admin/perfil', $listaView = 'admin/main', $editaView = '', $nomeSessao = 'usuarios', $urlLogin = 'admin/login/', $urlProibido = 'admin/main/proibido') {
		if (empty($modelo)) {
			$modelo = new PC4_Crud_UsuarioArquivo(FCPATH . 'arquivos');
		}
		parent::init($modelo, $formView, $listaView, $editaView, $nomeSessao, $urlLogin, $urlProibido);
		$this->usuario = $this->porteiro->getUsuario();
//		$role = $this->layout->getDado('role_usuario');
		$role = $this->usuario['role'];
		if (empty($role)) {
			$role = 'admin';
		}
		$this->editaView = 'admin/perfil/' . $role;
	}
	
	protected function trataForm() {
		$campos = parent::trataForm();
		$campos['imagem'] = $_FILES['imagem'];
		
		if (empty($campos['senha'])) {
			unset($campos['senha']);
		}
		
		return $campos;
	}
	
	function edita() {
		//@todo deprecated
//		$id = $this->layout->getDado('id_usuario');
		$id = $this->usuario['id'];
		parent::edita($id);
	}
	
	function resultadoEdita($resultado = array()) {
		$id = $this->usuario['id'];
//		$id = $this->layout->getDado('id_usuario');
		$rUsuario = $this->modelo->ve($id);

		$this->dados["r"] = $rUsuario;
		$this->layout->setDado("nome_usuario", $rUsuario->nome);
		$this->porteiro->setUsuario($rUsuario);
		
		parent::resultadoEdita($resultado);
	}
		
}
?>